export interface BaseFormItem {
  modelValue:
    | string
    | Array<unknown>
    | Record<string, unknown>
    | number
    | Date
    | boolean
    | null;
  formCtrlId?: number; // 控件id, 区分组件
  colName?: string; // 字段名称
  isClear?: boolean; // 连续添加是否需要清空该字段
  controlType?: string; // 控件类型
  size?: string; // 尺寸 medium / small / mini
  optionList?: Array<unknown>; // 备用选项
  addDisabled?: boolean; // 该字段在新增时是否可以被编辑
  editDisabled?: boolean; // 该字段在编辑时是否可以被编辑
  disabled?: boolean;
  searchUrl?: string; // 该字段用于下拉搜索是的搜索路径
  inputProp?: string;
  selectProp?: string;
  validateEvent?: boolean; // 输入时是否触发表单的校验
}

export interface FormItemField {
  propName: string;
  label: string;
  labelWith: string;
  formItemType: string;
  colSpan: number;
  width?: string;
  disabled?: boolean;
  meta: BaseFormItem;
}

export interface BaseFormat {
  date: string; // 日期格式数据校验
  number: Array<Record<string, unknown>>; // 数字格式数据校验
  boolean: Array<Record<string, unknown>>; // boolean格式数据校验
  string: Array<Record<string, unknown>>; // 字符串格式数据校验
}
